package com.biwin.module.authority.api.service;

import com.biwin.module.authority.api.dto.MenuDto;
import com.biwin.module.authority.api.vo.MenuVo;
import com.biwin.module.orm.api.service.CurdService;

import java.io.Serializable;

/**
 * TODO
 *
 * @author biwin
 * @since 0.0.1
 */
public interface IMenuService<T, V, ID extends Serializable> extends CurdService<T, V, ID> {

    /**
     * 根据菜单名称查询菜单信息
     *
     * @param menuName
     * @return
     */
    MenuVo findByName(String menuName);

    /**
     * 新增菜单
     *
     * @param menuDto
     * @return
     */
    MenuVo add(MenuDto menuDto);

    /**
     * 更新菜单
     *
     * @param menuDto
     * @return
     */
    MenuVo update(MenuDto menuDto);

    /**
     * 启用菜单
     *
     * @param id
     * @return
     */
    boolean enable(Long id);

    /**
     * 禁用菜单
     *
     * @param id
     * @return
     */
    boolean disable(Long id);
}
